package com.ibm.demoBankJSF.beans;

import java.util.*;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIParameter;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;

import com.ibm.demoBankJSF.operaciones.*;

public class DiezUltimosBean {
	List listaMovimientos = new ArrayList();
	String numCuenta = null;

	/**
	 * @return the numCuenta
	 */
	public String getNumCuenta() {
		return numCuenta;
	}

	/**
	 * @param numCuenta the numCuenta to set
	 */
	public void setNumCuenta(String numCuenta) {
		this.numCuenta = numCuenta;
	}

	/**
	 * @return the listaMovimientos
	 */
	public List getListaMovimientos() {
		return listaMovimientos;
	}

	/**
	 * @param listaMovimientos the listaMovimientos to set
	 */
	public void setListaMovimientos(List listaMovimientos) {
		this.listaMovimientos = listaMovimientos;
	}

	public void selectCuenta(ActionEvent event){
		UIParameter component = (UIParameter) event.getComponent().findComponent("numCuenta");
		String numCuenta = component.getValue().toString();
		this.setNumCuenta(numCuenta);
	}

	public String mostrarMov() {
		FacesContext facesContext = FacesContext.getCurrentInstance();
		String msg = null;
		String estado = null;
		

		estado = OperCuenta.obtenerDiezUltimosMovimientos(facesContext, numCuenta);

		if(estado.equals("okDiezUltimos")){
			listaMovimientos = (ArrayList) facesContext.getExternalContext().getSessionMap().get("listaMovimientos");
			numCuenta = (String) facesContext.getExternalContext().getSessionMap().get("numCuenta");

//			HttpServletRequest request = (HttpServletRequest) facesContext.getExternalContext().getRequest();
//			HttpSession sesion = request.getSession();
//			listaMovimientos = (String) sesion.getAttribute("listaMovimientos");
//			numCuenta = (ArrayList) sesion.getAttribute("numCuenta");
		}
		else{
			msg = "demoBankJSF.NoHayMovimientos";
		}

		if (msg !=null){
			FacesMessage facesMessage = new FacesMessage(msg);
			facesContext.addMessage("movimientos", facesMessage);
		}

		return estado;
	}

	
}
